As a high efficiency coding technique for compressing a digital audio signal, it is known to divide digital audio input signal in time into plural frames of a predetermined samples, to transform each frame into spectral coefficients in the frequency domain, and to divide the block of spectral coefficients resulting from transforming a frame into plural frequency bands. The spectral coefficients in each band are processed by block floating and are quantized by adaptive bit allocation.
Block floating is a normalization process applied to a block of data comprising plural words, such as a band of spectral coefficients. Block floating is applied by multiplying each word in the data block by a common value for the data block to improve quantization efficiency. In a typical block floating process, the maximum absolute value of the words in the data block is found and is used as a block floating coefficient common to all the words in the data block. Using the maximum absolute value in the band as the block floating coefficient prevents data overflow because the absolute value of no other word in the data block can be greater than the maximum absolute value. A simplified form of block floating determines the block floating coefficient using a shift quantity, which provides block floating in 6 dB steps.
The data compressor employing block floating generates, for each band, various block floating parameters BF that are transmitted or recorded on a recording medium together with the quantized spectral coefficients, or main information. The block floating parameters include a block floating coefficient SF and a word length WL, which provides information concerning the adaptive bit allocation, indicating the difference between the value of the block floating coefficient SF and the allowable noise level which is determined for each band, taking account of masking.
In the following description, reference will be made to recording on or reproducing from a recording medium. When such references are made, they are to be understood as additionally encompassing transmitting to and receiving from a transmission medium.
Masking is a psychoacoustic phenomenon in which a sound is rendered inaudible, or "masked," by other sounds occurring simultaneously with, or slightly earlier than, or later than, the sound. Masking effects may be classed into time domain masking effects, that is, masking by sounds occurring earlier or later than the masked sound, and concurrent masking effects, which is masking is by simultaneously-occurring sounds having a frequency different from the frequency of the masked sound.
Masking enables a sound to render inaudible any noise within its time or frequency masking range. This means that in the presence of a signal that, when reproduced, produces a sound, a digital encoding system that produces quantizing noise may have quantizing noise levels that are high compared with the noise level that is allowable in the absence of the signal, provided that the quantizing noise lies within the masking range of the sound produced by the signal. Since relatively high levels of quantizing noise are allowable if masked by the sound resulting from the signal, the number of bits required to quantize the signal representing the sound, or parts of the signal, may be significantly reduced.
A critical band is a frequency band that takes advantage of the masking characteristics of the human sense of hearing. A critical band is the band of noise that can be masked by a pure sound that has the same intensity as the noise and has a frequency in the vicinity of the frequency of the noise. The width of the critical band increases with increasing frequency of the pure sound. The entire audio frequency range of 0 Hz to 20 kHz can be divided into, for example, 25 critical bands.
If, for some reason, data is destroyed or lost between the output of the data compressor and the input of a complementary data expander, it is possible to reduce the audible effects of the missing data in the data expander by reducing the signal component in the frequency band corresponding to the missing data to zero.
However, since the block floating parameters BF is related to the spectral coefficients in each band, the effect on sound quality of losing a block floating parameter BF is more noticeable than loss of the main information (i.e., the quantized spectrum signals).
To mitigate the effects of possibly losing a block floating parameter BF, it is known to include the block floating parameters BF in the compressed signal provided by the data compressor twice, so that they are recorded twice on the recording medium. This provides a redundant set of block floating parameters in case a block floating parameter is lost or erroneous.
In the following description, reference will be made to lost data, such as block floating parameters and quantized spectral coefficients on the understanding that this term also covers erroneous or corrupted data, such as block floating parameters and quantized spectral coefficients.
As shown in FIG. 15, the quantized spectral coefficients (main information) are recorded together with the block floating coefficients SF and word length WL as the above-mentioned block floating parameters BF, and are recorded as the block floating coefficients SF1 and the word lengths WL1, respectively, and are recorded a second time as the block floating coefficients SF2 and the word lengths WL2, respectively.
With the above method, since all the block floating parameters BF need to be recorded twice to deal with normal occurrences of data loss, the number of bits allocated to the main information must be reduced to accommodate the additional block floating parameters. Consequently, in systems having a high compression ratio or a low bit rate, a satisfactory sound quality cannot be attained.
In a conventional data compressor, the number of block floating parameters BF recorded per frame of the input signal is usually fixed. FIG. 16 shows how the data corresponding to each frame of the input signal is arranged in the recording signal produced by a conventional data compressor. In the example shown, the values of the block floating parameters BF for the bands to which no bits are allocated must still to be recorded, which reduces the number of bits available for coding the spectral coefficients in the main information. This makes it difficult to achieve a satisfactory sound quality when the compressed signal from the compressor is subject to complementary expansion, and is reproduced. This is especially so in systems having a high compression ratio or a low bit rate.
The system shown in FIG. 17 is also known. In this, no block floating coefficients SF are recorded for those bands to which no bits are actually allocated, i.e., for bands having a word length WL=0. Correspondingly more bits are available for allocation to coding the spectral coefficients. In the example of FIG. 17, the number of recorded block floating coefficients SF is reduced by four, which is the number of bands to which no bits are allocated. In the arrangement shown in FIG. 17, it is still necessary to record the word length WL for all bands, and to determine whether the word length WL of each band is not zero when reading the block floating coefficients SF in the expander.
It is also necessary for the data compressor to calculate the number of bits necessary for quantizing the spectral coefficients in each band by a process that determines masking. The number of bits thus calculated is compared with the total number of bits allocated to the frame, after which, the bit allocation to each band may be adjusted. However, if the change in bit allocation changes whether the block floating coefficient SF of a block is recorded or not, the total number of bits that is allocated to the main information is also changed, which complicates the process of adjusting the bit allocation.